package newsSystem.dao;
import newsSystem.Dept.DeptInfo;
import newsSystem.Dept.DeptManger;
import newsSystem.utils.DBUtil;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

public class DepartmentInfoJDBC {
//结果集
//            public static void main(String[] args) throws Exception {
        public static void adptJDBC(){
//    调用Util里面连接数据库中的类
            Connection connection = null;
            ResultSet resultSet = null;
            Statement statement = null;
            try {
                // 获取数据库连接
                connection = DBUtil.getConnection();

                // 定义 SQL 查询语句
                String sql = "SELECT * FROM departmentinfo";

                // 创建 Statement 对象执行查询
                statement = connection.createStatement();

                // 执行查询并获取结果集合
                resultSet = statement.executeQuery(sql);
//         创建一个管理员list列表对象
                List<DeptInfo> DeptList=new ArrayList<>();
                // 处理结果集合
                while (resultSet.next()) {
                    // 获取每一行数据的具体字段值
//               获取管理员adminID
                    int DeptID = resultSet.getInt("DeptID");
//                获取管理员password
                    String DeptName = resultSet.getString("DeptName");

                    // 打印结果
//                System.out.println("部门编号: " + DeptID + ", 部门名称: " + DeptName);
//            创建对象并且将其添加到集合中去
                    DeptInfo adept=new DeptInfo(DeptID,DeptName);
////                调用AdminManager类中的添加add方法加入到列表中
                    DeptManger.addDept(adept);
                }

            } catch (ClassNotFoundException | SQLException e) {
                e.printStackTrace();
            } finally {
//            连接结束后释放资源
                DBUtil.closeConnection(connection);
//            释放结果集合
                DBUtil.closeResultSet(resultSet);
//            释放Statement 对象
                DBUtil.closePreparedStatement(statement);
            }
        }
    }
